// 范围过滤器的占位符实现
use async_trait::async_trait;
use fluviox_shared::{Result, models::DataRecord};
use crate::traits::{SmartModule, Filter, SmartModuleType, ProcessResult};
use serde_json::Value;

pub struct RangeFilter;

#[async_trait]
impl SmartModule for RangeFilter {
    fn name(&self) -> &str { "range-filter" }
    fn version(&self) -> &str { "1.0.0" }
    fn description(&self) -> &str { "范围过滤器" }
    fn module_type(&self) -> SmartModuleType { SmartModuleType::Filter }
    
    async fn initialize(&mut self, _config: Value) -> Result<()> { Ok(()) }
    async fn process(&mut self, record: DataRecord) -> Result<Vec<ProcessResult>> {
        Ok(vec![ProcessResult::Keep(record)])
    }
}

#[async_trait]
impl Filter for RangeFilter {
    async fn should_keep(&self, _record: &DataRecord) -> Result<bool> { Ok(true) }
}
